﻿using System;
using System.Windows.Input;
using Model;
using Model.Interfaces;

namespace ViewModel.Interfaces
{
    public interface IViewModelObjectFactory
    {
        ICommand CreateCommand(Func<bool> whereToCheckIfExecutionIsToBeDone, Action whatToExecute);

        IEditProjectViewModel CreateEditProjectViewModel(IProject project);

        IAddProjectViewModel CreateAddProjectViewModel();

        ILoginViewModel CreateLoginViewModel();

        IProjectsViewModel CreateProjectsViewModel();

        INavigationViewModel CreateNavigationViewModel();
    }
}
